/*
* 用来存储数据库相关信息
* 本库不可以来其他internal文件夹
 */

package dep_db

import (
	"feng-che.com/server/driver-quiz/myApp"
	"fmt"
	"log"
	"mongoDB"
	"os"
)

// MainDB 主数据库模块连接实例
var MainDB *mongoDB.MongoClient

// ConnectDB 连接数据库，一旦失败就不能启动app
func ConnectDB() {
	mode := os.Getenv("MODE")
	var err error
	if mode == "Release" {
		MainDB, err = mongoDB.InitMongoDB(myApp.AppSetting.Mongo.ReleaseURI, "mainDB")
	} else {
		MainDB, err = mongoDB.InitMongoDB(myApp.AppSetting.Mongo.TestURI, "mainDB")
	}
	if err != nil {
		fmt.Println(err.Error())
		log.Fatal("不能连接数据库，服务器启动终止")
	}
	ctx, cancel := mongoDB.MongoDBTimeoutContext()
	defer cancel()
	err = MainDB.DBConnInstance.Ping(ctx, nil)
	if err != nil {
		fmt.Println(err.Error())
		log.Fatal("ping测试接数据库错误，服务器启动终止")
	}
}
